www.gusucode.com > VC++ 酒店管理系统-源码程序 > VC++ 酒店管理系统-源码程序/code/hotel2003/EmployerInfoLookup.cpp
// EmployerInfoLookup.cpp : implementation file // Download by http://www.NewXing.com #include "stdafx.h" #include "qq.h" #include "EmployerInfoLookup.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CEmployerInfoLookup dialog CString CEmployerInfoLookup::STRINGS[100]={""}; CEmployerInfoLookup::CEmployerInfoLookup(CWnd* pParent /*=NULL*/) : CDialog(CEmployerInfoLookup::IDD, pParent) { //{{AFX_DATA_INIT(CEmployerInfoLookup) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT EmployerCode = _T(""); Name = _T(""); Depart = _T(""); bSuccess=false; } void CEmployerInfoLookup::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CEmployerInfoLookup) DDX_Control(pDX, IDC_COMBO1, m_InfoLookup_EmployerCode); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CEmployerInfoLookup, CDialog) //{{AFX_MSG_MAP(CEmployerInfoLookup) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CEmployerInfoLookup message handlers BOOL CEmployerInfoLookup::OnInitDialog() { CDialog::OnInitDialog(); HICON m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME2); this->SetIcon(m_hIcon,true);//设置对话框图标 // TODO: Add extra initialization here m_acCombo.Init(GetDlgItem(IDC_COMBO1)); if(!m_EmployerInfoSet.Open(AFX_DB_USE_DEFAULT_TYPE)) { MessageBox("打开数据库失败!","数据库错误",MB_OK); return false; } InitDate();//初始化数组成员 m_EmployerInfoSet.MoveFirst();//move to the first record int i=0; while(!m_EmployerInfoSet.IsEOF()) { STRINGS[i]=m_EmployerInfoSet.m_EmployerCode.GetBuffer(m_EmployerInfoSet.m_EmployerCode.GetLength()); m_EmployerInfoSet.MoveNext(); i++; } m_EmployerInfoSet.Close();//关闭数据库 for (int j=0;(!STRINGS[j].IsEmpty()); j++) { m_acCombo.GetStringList().Add(STRINGS[j].GetBuffer(STRINGS[j].GetLength())); } return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CEmployerInfoLookup::OnOK() { // TODO: Add extra validation here CString str; m_InfoLookup_EmployerCode.GetWindowText(str); if(str=="") { MessageBox("请输入职员代号!","数据为空错误",MB_OK); return ; } if(!m_EmployerInfoSet.Open(AFX_DB_USE_DEFAULT_TYPE)) { AfxMessageBox("查询数据库失败或者数据库没有连接!"); bSuccess=false; return ; } bool bInSQL=false;//是否存在这个数据记录 m_EmployerInfoSet.MoveFirst(); while(!m_EmployerInfoSet.IsEOF()) { if(m_EmployerInfoSet.m_EmployerCode==str) { bInSQL=true; break; } else bInSQL=false; m_EmployerInfoSet.MoveNext(); } /////////////////////////////////////////////////////////// // 查询成功的话保存得到的数据 if(bInSQL) { Depart=m_EmployerInfoSet.m_Depart; EmployerCode=m_EmployerInfoSet.m_EmployerCode; Name=m_EmployerInfoSet.m_Name; bSuccess=true; } else { MessageBox("该记录不存在!","记录错误",MB_OK); bSuccess=false; m_EmployerInfoSet.Close();//关闭数据库返回 return ; } ////保存数据完成关闭数据库 m_EmployerInfoSet.Close(); CDialog::OnOK(); } void CEmployerInfoLookup::OnCancel() { // TODO: Add extra cleanup here CDialog::OnCancel(); } void CEmployerInfoLookup::InitDate() { for(int i=0;i<100;i++) { STRINGS[i]=""; } }